#include <iostream>

using namespace std;

const int N = 5010;
int dp[N] , a[N];
int n;
int main()
{   
    cin >> n;
    for(int i = 1;i <= n;i ++) cin >> a[i];
    int ret = 1;
    for(int i = 1;i <= n;i ++)
    {
        dp[i] = 1;
        for(int j = 1;j < i;j ++)
        {
            if(a[j] < a[i])
            {
                dp[i] = max(dp[i] , dp[j] + 1);
            }
        }
        ret = max(dp[i] , ret);
    }
    cout << ret << endl;
    return 0;
}